When an end user purchases a software product, such as an operating system or other software product, the user may select a specific version of the software product. For example, the user may select a Home version, a Professional version, or other version of the software product. Each version may have a specific set of features. If a user who has the Home version of the software product installed on his or her processing device wishes to use a feature that is only available with the Professional version of the software product, the user must upgrade the software product to the Professional version. Typically, when a user upgrades to another version of a software product, not only does the user get access to a feature of the software product that the user may wish to use, but the upgraded version of the software product may contain additional features which the user may never use. Thus, in order to upgrade the software product, the user must pay not only for features the user may desire to use, but for features that the user may never use.
After a user purchases and installs a software product on a processing device, the user may activate the software product on the processing device. Typically, activation involves providing information about the software product and the processing device, upon which it is installed, to a server, such as, for example, a product activation server. After providing the information about the software product and the processing device, features of the software product may be enabled for use on the processing device.
After installing and activating the software product, the user may decide, for one reason or another, that he or she wishes to use the software product on another processing device, instead of the processing device upon which the software product is installed and activated. Currently, there is no easy way to deactivate the software product installed on one processing device and to activate the software product on another processing device.